package com.mdb.open.epay.domain.po.epay;

import com.baomidou.mybatisplus.annotation.*;
import com.mdb.bc.api.data.DataObjectBase;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* 类描述：
*  快捷支付订单表实体类
*
* @author 
* @date 2019-11-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("qp_order")
public class QpOrder extends DataObjectBase {

    private static final long serialVersionUID = 1L;
    /**
    * 主键ID
    */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
    * 产品code
    */
    private String customerCode;

    /**
    * 客户名称
    */
    private String customerName;

    /**
    * 业务产品code
    */
    private String prodCode;

    /**
    * 产品名称
    */
    private String prodName;

    /**
    * 订单号
    */
    private String innerOrderNo;

    /**
    * 客户订单号
    */
    private String custOrderNo;

    /**
    * 客戶訂單時間
    */
    private LocalDateTime custOrderTime;

    /**
    * 渠道交易号
    */
    private String coreOrderNo;

    /**
    * 金额
    */
    private BigDecimal amount;

    /**
    * 退款中金额
    */
    private BigDecimal refundingAmt;

    /**
    * 已退款金额
    */
    private BigDecimal refundAmt;
    /**
    * 退款中手續費
    */
    private BigDecimal refundingFeeAmt;

    /**
    * 已退手續費
    */
    private BigDecimal refundFeeAmt;

    /**
    * 商品描述
    */
    private String goodsDesc;

    /**
    * 状态 1.待支付 2.支付成功 3.支付失败 4.订单超时
    */
    private String status;

    /**
    * 错误代码
    */
    private String errorCode;

    /**
    * 错误原因
    */
    private String errorMessage;

    /**
    * 交易时间 
    */
    private LocalDateTime transDate;

    /**
    * 签约号 
    */
    private String signNo;

    /**
    * 卡类型 SA,CA
    */
    private String cardType;

    /**
    * 卡号
    */
    private String bankAccNo;

    /**
    * 持卡人姓名 
    */
    private String bankAccName;

    /**
    * 证件号
    */
    private String certNo;

    /**
    * 证件类型 1身份证
    */
    private String certType;

    /**
    * 电话区号
    */
    private String phoneArea;

    /**
    * 手机号
    */
    private String phoneNo;

    /**
    * 回调地址
    */
    private String notifyUrl;

    /**
    * 通知状态1.待通知 2.已通知 3.通知失败
    */
    private String notifyStatus;

    /**
    * 交易备注
    */
    private String remark;

    /**
    * 幣種
    */
    private String ccy;

    /**
    * 交易類型
    */
    private String tradeType;

    /**
    * 请求时间
    */
    private LocalDateTime reqTime;

    /**
    * 请求来源
    */
    private String reqSourceType;

    /**
    * 手续费
    */
    private BigDecimal fee;

    /**
    * 手续费类型
    */
    private String feeConfigType;

    /**
    * 手续费配置值
    */
    private String feeConfigValue;

    /**
    * 清算状态  1 未清算 2 已清算
    */
    private String reconStatus;

    /**
     * 手续费清算状态
     */
    private String feeReconStatus;

    /**
    * 创建时间
    */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
    * 更新时间
    */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

}
